/**
 * 养殖人员
 * @constructor
 */
function Home3() {
}

Home3.init = function () {
    initBatch();
    getharmless();
    //判断如果是养鸡，隐藏月报
    if ($("#AnimalTypes").val() == 0) {
        //隐藏月报
        // $("#getMonthlyReport").hide();
        $("#getPreProduction").hide();
    }
    authority();
    //预产期提醒
    $('#tableList').bootstrapTable({
        url: '/home/getPreProduction',
        method: 'post',
        striped: true, //是否显示行间隔色
        toolbar: "#toolbar",
        sidePagination: "true",
        dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
        showToggle: false, //是否显示详细视图和列表视图的切换按钮
        striped: true, // 是否显示行间隔色
        //search : "true",
        uniqueId: "id",
        // pageList : [ 5, 10, 20,50,100],//可选择单页记录数
        pageSize: "5",
        pagination: true, // 是否分页
        sortable: false, // 是否启用排序
        sidePagination: 'server', // 设置为服务器端分页     客户端：client
        search: false,
        showColumns: false,
        showRefresh: false,
        showFooter: false,
        //得到查询的参数
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var query_params = {
                //********table的参数 不变
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sort: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                //********
                //获取查询的对象，往下加入
            };
            return query_params;
        },
        columns: [
            {
                //field: 'Number',//可不加
                title: '序号',//标题  可不加
                align: "center",
                width: 40,
                visible: false,
                formatter: function (value, row, index) {
                    var pageSize = $('#tableList').bootstrapTable('getOptions').pageSize;//通过表的#id 可以得到每页多少条
                    var pageNumber = $('#tableList').bootstrapTable('getOptions').pageNumber;//通过表的#id 可以得到当前第几页
                    return pageSize * (pageNumber - 1) + index + 1;//返回每条的序号： 每页条数 * （当前页 - 1 ）+ 序号
                }
            },
            {
                align: 'center',
                formatter: function (value, row, index) {
                    let content = row.livestockNumber + "母畜将在" + row.productionTime + "分娩，请及时关注！";
                    return content;
                }
            },
            {
                align: 'center',
                width: '15%',
                formatter: function (value, row, index) {
                    let optionHtml = "<a class=\"btn btn-info btn-xs\"  href=\"javascript:void(0)\"  onclick='childbirth(" + JSON.stringify(row) + ")'  title=\"分娩\" >分娩</a>";
                    return optionHtml;
                }
            },
        ]
    });
    //月报填报提醒
    // $('#tableList1').bootstrapTable({
    //     url: '/home/getMonthlyReport',
    //     method: 'post',
    //     striped : true, //是否显示行间隔色
    //     toolbar: "#toolbar",
    //     sidePagination: "true",
    //     dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
    //     showToggle : false, //是否显示详细视图和列表视图的切换按钮
    //     striped: true, // 是否显示行间隔色
    //     //search : "true",
    //     uniqueId: "id",
    //     // pageList : [ 5, 10, 20,50,100],//可选择单页记录数
    //     pageSize: "5",
    //     pagination: false, // 是否分页
    //     sortable: false, // 是否启用排序
    //     sidePagination: 'server', // 设置为服务器端分页     客户端：client
    //     search:false,
    //     showColumns: false,
    //     showRefresh: false,
    //     showFooter:false,
    //     //得到查询的参数
    //     queryParams: function (params) {
    //         //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
    //         var query_params = {
    //             //********table的参数 不变
    //             pageSize: params.limit,                         //页面大小
    //             pageIndex: (params.offset / params.limit) + 1,   //页码
    //             sort: params.sort,      //排序列名
    //             sortOrder: params.order, //排位命令（desc，asc）
    //             //********
    //             //获取查询的对象，往下加入
    //         };
    //         return query_params;
    //     },
    //     columns:[
    //         {
    //             //field: 'Number',//可不加
    //             title: '序号',//标题  可不加
    //             align: "center",
    //             width: 40,
    //             visible: false,
    //             formatter: function (value, row, index) {
    //                 console.log("row",row);
    //                 var pageSize=$('#tableList1').bootstrapTable('getOptions').pageSize;//通过表的#id 可以得到每页多少条
    //                 var pageNumber=$('#tableList1').bootstrapTable('getOptions').pageNumber;//通过表的#id 可以得到当前第几页
    //                 return pageSize * (pageNumber - 1) + index + 1;//返回每条的序号： 每页条数 * （当前页 - 1 ）+ 序号
    //             }
    //         },
    //         {
    //             align: 'center',
    //             formatter:function (value,row,index) {
    //                 return "上月月报还没填写，请及时关注！";
    //             }
    //         },
    //         {
    //             align: 'center',
    //             width: '15%',
    //             formatter:function(value,row,index){
    //                 let optionHtml = "<a class=\"btn btn-info btn-xs\"  href=\"javascript:void(0)\"  onclick='fillIn(" + JSON.stringify(row) + ")'  title=\"填写\" >填写</a>";
    //                 return optionHtml;
    //             }
    //         },
    //     ]
    // });
    //无害化处理提醒
    $('#tableList2').bootstrapTable({
        url: '/harmlessReportSpeech/tableSearch',
        method: 'post',
        striped: true, //是否显示行间隔色
        toolbar: "#toolbar",
        sidePagination: "true",
        dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
        showToggle: false, //是否显示详细视图和列表视图的切换按钮
        striped: true, // 是否显示行间隔色
        //search : "true",
        uniqueId: "id",
        // pageList : [ 5, 10, 20,50,100],//可选择单页记录数
        pageSize: "5",
        pagination: true, // 是否分页
        sortable: false, // 是否启用排序
        sidePagination: 'server', // 设置为服务器端分页     客户端：client
        search: false,
        showColumns: false,
        showRefresh: false,
        showFooter: false,
        //得到查询的参数
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var query_params = {
                //********table的参数 不变
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sort: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                //********
                //获取查询的对象，往下加入
            };
            return query_params;
        },
        columns: [
            {
                //field: 'Number',//可不加
                // title: '序号',//标题  可不加
                align: "center",
                width: 40,
                visible: false,
                formatter: function (value, row, index) {
                    var pageSize = $('#tableList2').bootstrapTable('getOptions').pageSize;//通过表的#id 可以得到每页多少条
                    var pageNumber = $('#tableList2').bootstrapTable('getOptions').pageNumber;//通过表的#id 可以得到当前第几页
                    return pageSize * (pageNumber - 1) + index + 1;//返回每条的序号： 每页条数 * （当前页 - 1 ）+ 序号
                }
            },
            {
                align: 'center',
                formatter: function (value, row, index) {
                    let content = row.declareTime + "死淘的" + row.dead + "头畜禽还未处理，请及时上报！";
                    return content;
                }
            },
            {
                align: 'center',
                width: '15%',
                formatter: function (value, row, index) {
                    let optionHtml = "<a class=\"btn btn-info btn-xs\"  href=\"javascript:void(0)\"  onclick='reporting(" + JSON.stringify(row) + ")'  title=\"上报\" >上报</a>";
                    return optionHtml;
                }
            },
        ]
    });
    //通知公告列表
    $('#tableList4').bootstrapTable({
        url: '/noticeUsers/tableSearch',
        method: 'post',
        striped: true, //是否显示行间隔色
        toolbar: "#toolbar",
        sidePagination: "true",
        dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
        showToggle: false, //是否显示详细视图和列表视图的切换按钮
        striped: true, // 是否显示行间隔色
        //search : "true",
        uniqueId: "id",
        // pageList : [ 5, 10, 20,50,100],//可选择单页记录数
        pageSize: "5",
        pagination: true, // 是否分页
        sortable: false, // 是否启用排序
        sidePagination: 'server', // 设置为服务器端分页     客户端：client
        search: false,
        showColumns: false,
        showRefresh: false,
        showFooter: false,
        //得到查询的参数
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var query_params = {
                //********table的参数 不变
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sort: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                //********
                //获取查询的对象，往下加入
                status: 0
            };
            return query_params;
        },
        columns: [
            {
                //field: 'Number',//可不加
                // title: '序号',//标题  可不加
                align: "center",
                width: 40,
                visible: false,
                formatter: function (value, row, index) {
                    var pageSize = $('#tableList4').bootstrapTable('getOptions').pageSize;//通过表的#id 可以得到每页多少条
                    var pageNumber = $('#tableList4').bootstrapTable('getOptions').pageNumber;//通过表的#id 可以得到当前第几页
                    return pageSize * (pageNumber - 1) + index + 1;//返回每条的序号： 每页条数 * （当前页 - 1 ）+ 序号
                }
            },
            {field: 'content', align: 'center'},
            {
                align: 'center',
                width: '15%',
                formatter: function (value, row, index) {
                    let optionHtml = "<a class=\"btn btn-info btn-xs\"  href=\"javascript:void(0)\"  onclick='seeNotice(" + JSON.stringify(row) + ")'  title=\"查看\" >查看</a>";
                    return optionHtml;
                }
            },
        ]
    });
    //推送消息
    $('#tableList3').bootstrapTable({
        url: '/newsUsers/tableSearch',
        method: 'post',
        striped: true, //是否显示行间隔色
        toolbar: "#toolbar",
        sidePagination: "true",
        dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
        showToggle: false, //是否显示详细视图和列表视图的切换按钮
        striped: true, // 是否显示行间隔色
        //search : "true",
        uniqueId: "id",
        // pageList : [ 5, 10, 20,50,100],//可选择单页记录数
        pageSize: "5",
        pagination: true, // 是否分页
        sortable: false, // 是否启用排序
        sidePagination: 'server', // 设置为服务器端分页     客户端：client
        search: false,
        showColumns: false,
        showRefresh: false,
        showFooter: false,
        //得到查询的参数
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var query_params = {
                //********table的参数 不变
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sort: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                //********
                //获取查询的对象，往下加入
                status: 0
            };
            return query_params;
        },
        columns: [
            {
                //field: 'Number',//可不加
                // title: '序号',//标题  可不加
                align: "center",
                width: 40,
                visible: false,
                formatter: function (value, row, index) {
                    var pageSize = $('#tableList3').bootstrapTable('getOptions').pageSize;//通过表的#id 可以得到每页多少条
                    var pageNumber = $('#tableList3').bootstrapTable('getOptions').pageNumber;//通过表的#id 可以得到当前第几页
                    return pageSize * (pageNumber - 1) + index + 1;//返回每条的序号： 每页条数 * （当前页 - 1 ）+ 序号
                }
            },
            {field: 'content', align: 'center'},
            {
                align: 'center',
                width: '15%',
                formatter: function (value, row, index) {
                    let optionHtml = "<a class=\"btn btn-info btn-xs\"  href=\"javascript:void(0)\"  onclick='seeNews(" + JSON.stringify(row) + ")'  title=\"查看\" >查看</a>";
                    return optionHtml;
                }
            },
        ]
    });
}
let reproductionId = 0;

//分娩
function childbirth(data) {
    $("#female_number").val(data.livestockNumber);
    reproductionId = data.reproductionId;
    $('#myModalAdd').modal('show');
}

/**
 *时间选择器
 */
laydate.render({
    elem: '#childbirth_date',
    theme: 'molv',
    type: "date",
});
laydate.render({
    elem: '#text_ReportMonth',
    theme: 'molv',
    type: "month",
});

//分娩
function saveRecord() {
    if (!validateForm()) return false;
    var postdata = {
        reproductionId: reproductionId,
        deliveryTime: $("#childbirth_date").val(),
        litterSize: $("#litter_size").val(),
        liveNumber: $("#live_births").val()
    };
    //发送异步请求到后台保存用户数据
    $.ajax({
        url: "/home/savePreProduction",
        type: "post",
        data: JSON.stringify(postdata),
        contentType: "application/json",
        dataType: "json",
        success: function (data) {
            if (data.code === "200") {
                $('#myModalAdd').modal('hide')
                $("#tableList").bootstrapTable("refreshOptions", {pageNumber: 1});
                swal("操作成功!", "请继续操作", "success");
            } else {
                swal("操作失败!", "请重试", "error");
            }
        }
    });
}

//填写月报
function fillIn(data) {
    $('#myModalAdd1').modal('show');
}

//上报月报
function saveRecord1() {
    if (!validateForm1()) return false;
    //创建传递的参数
    var postdata = {
        monthReportRecordId: 0,
        action: "add",
        reportMonth: $("#text_ReportMonth").val() + '-01',  //上报年月
        livestockReserve: $("#text_LivestockReserve").val(),  //本月后备母畜禽存栏数
        livestockMenstruation: $("#text_LivestockMenstruation").val(),  //本月经产母畜禽存栏数
        livestockShop: $("#text_LivestockShop").val(),  //本月商品母畜禽存栏数
        fetusNumber: $("#text_FetusNumber").val(),    //本月产仔胎数
        litterNumber: $("#text_LitterNumber").val(),    //本月产仔数
        publicationMale: $("#text_PublicationMale").val(),    //本月种公畜禽出栏数
        publicationFemale: $("#text_PublicationFemale").val(),    //本月种母畜禽出栏数
        publicationShop: $("#text_PublicationShop").val(),    //本月商品畜禽出栏数
        inspectionNumber: $("#text_InspectionNumber").val(),    //本月报检数
        harmlessMale: $("#text_HarmlessMale").val(),    //本月种公畜禽无害化处理数
        harmlessFemale: $("#text_HarmlessFemale").val(),    //本月种母畜禽无害化处理数
        harmlessShop: $("#text_HarmlessShop").val(),    //本月商品无害化处理数
    };
    //发送异步请求到后台保存用户数据
    $.ajax({
        url: "/monthReportRecord/save",
        type: "post",
        data: JSON.stringify(postdata),
        contentType: "application/json",
        dataType: "json",
        success: function (data) {
            if (data.code === "200") {
                $('#myModalAdd').modal('hide')
                doSearch();
                swal("操作成功!", "请继续操作", "success");
            } else if (data.code === "501") {
                swal("操作失败!该月报表已填写!", "请重试", "error");
            } else if (data.code == "502") {
                swal("操作失败!上月报表未填写!", "请先补填上月报表", "error");
            } else {
                swal("操作失败!上", "请重试", "error");
            }
        }
    });
}

let harmlessReportID = 0;

//无害化上报填写
function reporting(data) {
    console.log("data",data)
    harmlessReportID = data.harmlessReportID;
    $("#dhannel").val(0);
    $("#batch").val(data.batch);
    $("#animalTpye").val(data.animalTpye);
    $("#species").val(data.species);
    $("#reserve").val(data.reserve);
    $("#menstruation").val(data.menstruation);
    $("#lactation").val(data.lactation);
    $("#conservation").val(data.conservation);
    $("#commodity").val(data.commodity);
    $("#livestock").val(data.livestock);
    //隐藏文件选择
    // $("#uploadImages").css("display","none");
    //图片回显
    $("#showImage").css("display","");
    $("#showImage").attr("src",data.declareImageUrl);

    $("#showImage2").css("display","");
    $("#showImage2").attr("src",data.declareImageUrl);
    if ($("#AnimalTypes").val() == 1){
        $('#myModalAdd2').modal('show');
    }else {
        $('#myModalAdd3').modal('show');
    }
}

//无害化上报
function saveRecord2() {
    if (!validateForm2()) return false;
    if (!validateForm3()) return false;
    var postdata = {
        harmlessReportID: harmlessReportID,
        cause:$("#cause").val(),
        dhannel:$("#dhannel").val(),
        batch:$("#batch").val(),
        species:$("#species").val(),
        reserve:$("#reserve").val(),
        menstruation:$("#menstruation").val(),
        lactation:$("#lactation").val(),
        conservation:$("#conservation").val(),
        commodity:$("#commodity").val(),
        dead:$("#dead").val(),
        animal:$("#animal").val(),
        cause:$("#cause").val(),
        dhannel:$("#dhannel").val(),
        livestock:$("#livestock").val(),
    };
    if ($("#AnimalTypes").val() == 0){
        postdata.cause = $("#cause1").val();
        postdata.dhannel = $("#dhannel1").val();
    }
    //发送异步请求到后台保存用户数据
    $.ajax({
        url: "/harmlessReportSpeech/edit",
        type: "post",
        data: JSON.stringify(postdata),
        contentType: "application/json",
        dataType: "json",
        success: function (data) {
            if (data.code === "200") {
                $('#myModalAdd2').modal('hide');
                $('#myModalAdd3').modal('hide');
                $("#tableList2").bootstrapTable("refreshOptions", {pageNumber: 1});
                swal("操作成功!", "请继续操作", "success");
            } else {
                swal("操作失败!", "请重试", "error");
            }
        }
    });
}

//查看公告
function seeNotice(data) {
    $.ajax({
        url: "/noticeUsers/read/"+data.id,
        type: "get",
        contentType: "application/json",
        dataType: "json",
        success: function (dat) {
            if (dat.code === "200") {
                $('#title').html(dat.data.title);
                $('#myContent').html(dat.data.content);
                $('#publisher').text(dat.data.userName);
                $('#publisheTime').text('       ' + dat.data.noticeDate);
                $('#myModalView').modal('show')
                if (data.enclosure != null && data.enclosure != ""){
                    $("#showEnclosure").show();
                    $("#downEnclosure").attr("href",dat.data.enclosure);
                }else {
                    $("#showEnclosure").hide();
                    $("#downEnclosure").attr("href","");
                }
                $("#tableList4").bootstrapTable("refreshOptions", {pageNumber: 1});
            }
        }
    });
}

//查看推送消息
function seeNews(data) {
    $.ajax({
        url: "/newsUsers/read/"+data.id,
        type: "get",
        contentType: "application/json",
        dataType: "json",
        success: function (dat) {
            if (dat.code === "200") {
                $('#title1').html(dat.data.title);
                $('#myContent1').html(dat.data.content);
                $('#publisher1').text(dat.data.userName);
                $('#publisheTime1').text('       ' + dat.data.createTime);
                $('#myModalView1').modal('show')
                $("#tableList3").bootstrapTable("refreshOptions", {pageNumber: 1});
            }
        }
    });
}

function validateForm() {
    //validate方法参数可选
    return $("#myform").validate({
        rules: {
            childbirth_date: {
                required: true,//必填
                minlength: 1, //最少1个字符
            },
            litter_size: {
                required: true,//必填
                minlength: 1, //最少1个字符
                number: true, //必须是数字
            },
            live_births: {
                required: true,//必填
                minlength: 1, //最少1个字符
                number: true, //必须是数字
            },
        },
        //错误信息提示
        messages: {
            childbirth_date: {
                required: "(必填)",
                minlength: "最少1位",
            },
            litter_size: {
                required: "(必填)",
                minlength: "最少1位",
            },
            live_births: {
                required: "(必填)",
                minlength: "最少1位",
            },
        },
    }).form();
}

//表单验证*****************************
function validateForm2() {
    //validate方法参数可选
    return $("#myform2").validate({
        rules: {
            cause: {
                required: true,//必填
                minlength: 1, //最少1个字符
            },
            dhannel: {
                required: true,//必填
                minlength: 1, //最少1个字符
            },
        },
        //错误信息提示
        messages: {
            cause: {
                required: "(必填)",
                minlength: "最少1位",
            },
            dhannel: {
                required: "(必填)",
                minlength: "最少1位",
            },
        },
    }).form();
}

function validateForm3() {
    //validate方法参数可选
    return $("#myform3").validate({
        rules: {
            cause: {
                required: true,//必填
                minlength: 1, //最少1个字符
            },
            dhannel1: {
                required: true,//必填
                minlength: 1, //最少1个字符
            },
        },
        //错误信息提示
        messages: {
            cause: {
                required: "(必填)",
                minlength: "最少1位",
            },
            dhannel1: {
                required: "(必填)",
                minlength: "最少1位",
            },
        },
    }).form();
}

function authority() {
    $.ajax({
        url: "/home/authority",
        type: "post",
        contentType: "application/json",
        dataType: "json",
        success: function (data) {
            if (data == null) {
                return false;
            }
            if (data.newsusers == 0) {
                $("#newsusers").hide();
            }
            if (data.noticeUsers == 0) {
                $("#noticeUsers").hide();
            }
            if (data.harmlessReporting == 0) {
                $("#harmlessReporting").hide();
            }
            if (data.reproductionManage == 0) {
                $("#getPreProduction").hide();
            }
            // if (data.monthReportRecord == 0){
            //     $("#getMonthlyReport").hide();
            // }
        }
    });
}

function initBatch() {
    $.ajax({
        url: "/animalnumber/getBatch",
        type: "get",
        contentType: "application/json",
        dataType: "json",
        success: function (data) {
            console.log('databat',data.data);
            $("#batch").empty();
            $.each(data.data,function (index,item) {
                $("#batch").append("<option value=\""+item.id+"\">"+item.batchNumber+"</option>");
            })
        }
    });
}

//给下拉选赋值
function getharmless(){
    $.ajax({
        url: "/harmlessTreatment/getHarmlessTreatment",
        type:"post",
        contentType:"application/json",
        dataType:"json",
        success:function(data){
            if(data.data!=null){
                $("#dhannel").empty();
                $.each(data.data,function(index,item){
                    $("#dhannel").append("<option value=\""+item.id+"\">"+item.routeName+"</option>");
                })
            }
        }
    });
}